<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="theme-color" content="#222"><meta name="generator" content="Hexo 6.3.0">

  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">



<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha256-CTSx/A06dm1B063156EVh15m6Y67pAjZZaQc89LLSrU=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.1.1/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/5.0.24/fancybox/fancybox.css" integrity="sha256-vQkngPS8jiHHH0I6ABTZroZk8NPZ7b+MUReOFE9UsXQ=" crossorigin="anonymous">

<script class="next-config" data-name="main" type="application/json">{"hostname":"rjyblog.gitee.io","root":"/","images":"/images","scheme":"Pisces","darkmode":false,"version":"8.18.2","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12},"copycode":{"enable":true,"style":null},"fold":{"enable":false,"height":500},"bookmark":{"enable":false,"color":"#222","save":"auto"},"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"stickytabs":false,"motion":{"enable":true,"async":false,"transition":{"menu_item":"fadeInDown","post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果：${query}","hits_time":"找到 ${hits} 个搜索结果（用时 ${time} 毫秒）","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false}}</script><script src="/js/config.js"></script>

    <meta name="description" content="本文介绍Android应用进程的启动流程。从一个应用的Activity中（比如luncher），启动">
<meta property="og:type" content="article">
<meta property="og:title" content="Android应用进程启动流程">
<meta property="og:url" content="https://rjyblog.gitee.io/posts/60405.html">
<meta property="og:site_name" content="任建勇的博客">
<meta property="og:description" content="本文介绍Android应用进程的启动流程。从一个应用的Activity中（比如luncher），启动">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2020-11-29T06:04:48.000Z">
<meta property="article:modified_time" content="2023-10-18T07:56:33.224Z">
<meta property="article:author" content="Jason">
<meta property="article:tag" content="Android, Java, Kotlin, Flutter, 前端技术, 设计模式">
<meta name="twitter:card" content="summary">


<link rel="canonical" href="https://rjyblog.gitee.io/posts/60405.html">



<script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://rjyblog.gitee.io/posts/60405.html","path":"posts/60405.html","title":"Android应用进程启动流程"}</script>

<script class="next-config" data-name="calendar" type="application/json">""</script>
<title>Android应用进程启动流程 | 任建勇的博客</title>
  








  <noscript>
    <link rel="stylesheet" href="/css/noscript.css">
  </noscript>
</head>

<body itemscope itemtype="http://schema.org/WebPage" class="use-motion">
  <div class="headband"></div>

  <main class="main">
    <div class="column">
      <header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏" role="button">
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
        <span class="toggle-line"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <i class="logo-line"></i>
      <p class="site-title">任建勇的博客</p>
      <i class="logo-line"></i>
    </a>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger" aria-label="搜索" role="button">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>



<nav class="site-nav">
  <ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a></li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
        </a>
      </li>
  </ul>
</nav>



  <div class="search-pop-overlay">
    <div class="popup search-popup"><div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off" maxlength="80"
           placeholder="搜索..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close" role="button">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div class="search-result-container no-result">
  <div class="search-result-icon">
    <i class="fa fa-spinner fa-pulse fa-5x"></i>
  </div>
</div>

    </div>
  </div>

</header>
        
  
  <aside class="sidebar">

    <div class="sidebar-inner sidebar-nav-active sidebar-toc-active">
      <ul class="sidebar-nav">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <div class="sidebar-panel-container">
        <!--noindex-->
        <div class="post-toc-wrap sidebar-panel">
            <div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-2"><a class="nav-link" href="#%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B%E5%9B%BE"><span class="nav-text">启动流程图</span></a></li></ol></div>
        </div>
        <!--/noindex-->

        <div class="site-overview-wrap sidebar-panel">
          <div class="site-author animated" itemprop="author" itemscope itemtype="http://schema.org/Person">
    <img class="site-author-image" itemprop="image" alt="Jason"
      src="/images/avatar.png">
  <p class="site-author-name" itemprop="name">Jason</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap animated">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
        <a href="/archives/">
          <span class="site-state-item-count">66</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
          <a href="/categories/">
        <span class="site-state-item-count">13</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
          <a href="/tags/">
        <span class="site-state-item-count">23</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>

        </div>
      </div>
    </div>

    
  </aside>


    </div>

    <div class="main-inner post posts-expand">


  


<div class="post-block">
  
  

  <article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://rjyblog.gitee.io/posts/60405.html">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.png">
      <meta itemprop="name" content="Jason">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="任建勇的博客">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="post" itemscope itemtype="http://schema.org/CreativeWork">
      <meta itemprop="name" content="Android应用进程启动流程 | 任建勇的博客">
      <meta itemprop="description" content="本文介绍Android应用进程的启动流程。从一个应用的Activity中（比如luncher），启动">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          Android应用进程启动流程
        </h1>

        <div class="post-meta-container">
          <div class="post-meta">
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-calendar"></i>
      </span>
      <span class="post-meta-item-text">发表于</span>

      <time title="创建时间：2020-11-29 14:04:48" itemprop="dateCreated datePublished" datetime="2020-11-29T14:04:48+08:00">2020-11-29</time>
    </span>
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-calendar-check"></i>
      </span>
      <span class="post-meta-item-text">更新于</span>
      <time title="修改时间：2023-10-18 15:56:33" itemprop="dateModified" datetime="2023-10-18T15:56:33+08:00">2023-10-18</time>
    </span>
    <span class="post-meta-item">
      <span class="post-meta-item-icon">
        <i class="far fa-folder"></i>
      </span>
      <span class="post-meta-item-text">分类于</span>
        <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
          <a href="/categories/Android/" itemprop="url" rel="index"><span itemprop="name">Android</span></a>
        </span>
    </span>

  
</div>

            <div class="post-description">本文介绍Android应用进程的启动流程。从一个应用的Activity中（比如luncher），启动</div>
        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody"><p>本文基于Android8.0源码。</p>
<h2 id="启动流程图"><a href="#启动流程图" class="headerlink" title="启动流程图"></a>启动流程图</h2><p>点击可以看大图</p>
<?xml version="1.0" encoding="us-ascii" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="2035px" preserveAspectRatio="none" style="width:2278px;height:2035px;background:#FFFFFF;" version="1.1" viewBox="0 0 2278 2035" width="2278px" zoomAndPan="magnify"><defs/><g><rect fill="#FFFFFF" height="169.5313" style="stroke:#181818;stroke-width:1.0;" width="10" x="152" y="1770.0625"/><rect fill="#FFFFFF" height="936.5156" style="stroke:#181818;stroke-width:1.0;" width="10" x="345" y="351.6563"/><rect fill="#FFFFFF" height="878.25" style="stroke:#181818;stroke-width:1.0;" width="10" x="543" y="380.7891"/><rect fill="#FFFFFF" height="841.1172" style="stroke:#181818;stroke-width:1.0;" width="10" x="548" y="417.9219"/><rect fill="#FFFFFF" height="432.5234" style="stroke:#181818;stroke-width:1.0;" width="10" x="553" y="502.1875"/><rect fill="#FFFFFF" height="280.1953" style="stroke:#181818;stroke-width:1.0;" width="10" x="553" y="978.8438"/><rect fill="#FFFFFF" height="378.3906" style="stroke:#181818;stroke-width:1.0;" width="10" x="765" y="536.3203"/><rect fill="#FFFFFF" height="236.6953" style="stroke:#181818;stroke-width:1.0;" width="10" x="948" y="648.8828"/><rect fill="#FFFFFF" height="338.2266" style="stroke:#181818;stroke-width:1.0;" width="10" x="1069" y="1652.5"/><rect fill="#FFFFFF" height="203.6641" style="stroke:#181818;stroke-width:1.0;" width="10" x="1074" y="1735.9297"/><rect fill="#FFFFFF" height="631.2891" style="stroke:#181818;stroke-width:1.0;" width="10" x="1392.5" y="1359.4375"/><rect fill="#FFFFFF" height="883.25" style="stroke:#181818;stroke-width:1.0;" width="10" x="1550.5" y="246.2578"/><rect fill="#FFFFFF" height="193.5625" style="stroke:#181818;stroke-width:1.0;" width="10" x="1555.5" y="678.0156"/><rect fill="#FFFFFF" height="135.4297" style="stroke:#181818;stroke-width:1.0;" width="10" x="1560.5" y="715.1484"/><rect fill="#FFFFFF" height="66.2969" style="stroke:#181818;stroke-width:1.0;" width="10" x="1565.5" y="757.2813"/><rect fill="#FFFFFF" height="158.6641" style="stroke:#181818;stroke-width:1.0;" width="10" x="1725.5" y="1071.2422"/><rect fill="#FFFFFF" height="63.2656" style="stroke:#181818;stroke-width:1.0;" width="10" x="1730.5" y="1166.6406"/><rect fill="#FFFFFF" height="665.4219" style="stroke:#181818;stroke-width:1.0;" width="10" x="1725.5" y="1325.3047"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1925.5" y="1100.375"/><rect fill="#FFFFFF" height="113.3984" style="stroke:#181818;stroke-width:1.0;" width="10" x="2018" y="1430.7031"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="157" x2="157" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="349.5" x2="349.5" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="547.5" x2="547.5" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="770" x2="770" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="953" x2="953" y1="574.9688" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1074" x2="1074" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1268.5" x2="1268.5" y1="1696.1484" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1397.5" x2="1397.5" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1555" x2="1555" y1="106.0781" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1730" x2="1730" y1="800.9297" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="1930.5" x2="1930.5" y1="36.2969" y2="1999.7266"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="2022.5" x2="2022.5" y1="36.2969" y2="1999.7266"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="184" x="65" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="72" y="24.9951">ActivityManagerService</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="184" x="65" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="72" y="2018.7217">ActivityManagerService</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="69" x="315.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="322.5" y="24.9951">Process</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="69" x="315.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="322.5" y="2018.7217">Process</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="487.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="494.5" y="24.9951">ZygoteProcess</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121" x="487.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="494.5" y="2018.7217">ZygoteProcess</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="106" x="717" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="724" y="24.9951">ZygoteState</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="106" x="717" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="724" y="2018.7217">ZygoteState</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="902" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="909" y="2018.7217">LocalSocket</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="1014" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="1021" y="24.9951">ActivityThread</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="120" x="1014" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="1021" y="2018.7217">ActivityThread</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="147" x="1195.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="1202.5" y="2018.7217">ApplicationThread</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90" x="1352.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="1359.5" y="24.9951">ZygoteInit</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90" x="1352.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="1359.5" y="2018.7217">ZygoteInit</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="1499" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="1506" y="2018.7217">ZygoteServer</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="149" x="1656" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="1663" y="2018.7217">ZygoteConnection</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="66" x="1897.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="1904.5" y="24.9951">Zygote</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="66" x="1897.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="1904.5" y="2018.7217">Zygote</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="99" x="1973.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="1980.5" y="24.9951">RuntimeInit</text><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="99" x="1973.5" y="1998.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="1980.5" y="2018.7217">RuntimeInit</text><rect fill="#FFFFFF" height="169.5313" style="stroke:#181818;stroke-width:1.0;" width="10" x="152" y="1770.0625"/><rect fill="#FFFFFF" height="936.5156" style="stroke:#181818;stroke-width:1.0;" width="10" x="345" y="351.6563"/><rect fill="#FFFFFF" height="878.25" style="stroke:#181818;stroke-width:1.0;" width="10" x="543" y="380.7891"/><rect fill="#FFFFFF" height="841.1172" style="stroke:#181818;stroke-width:1.0;" width="10" x="548" y="417.9219"/><rect fill="#FFFFFF" height="432.5234" style="stroke:#181818;stroke-width:1.0;" width="10" x="553" y="502.1875"/><rect fill="#FFFFFF" height="280.1953" style="stroke:#181818;stroke-width:1.0;" width="10" x="553" y="978.8438"/><rect fill="#FFFFFF" height="378.3906" style="stroke:#181818;stroke-width:1.0;" width="10" x="765" y="536.3203"/><rect fill="#FFFFFF" height="236.6953" style="stroke:#181818;stroke-width:1.0;" width="10" x="948" y="648.8828"/><rect fill="#FFFFFF" height="338.2266" style="stroke:#181818;stroke-width:1.0;" width="10" x="1069" y="1652.5"/><rect fill="#FFFFFF" height="203.6641" style="stroke:#181818;stroke-width:1.0;" width="10" x="1074" y="1735.9297"/><rect fill="#FFFFFF" height="631.2891" style="stroke:#181818;stroke-width:1.0;" width="10" x="1392.5" y="1359.4375"/><rect fill="#FFFFFF" height="883.25" style="stroke:#181818;stroke-width:1.0;" width="10" x="1550.5" y="246.2578"/><rect fill="#FFFFFF" height="193.5625" style="stroke:#181818;stroke-width:1.0;" width="10" x="1555.5" y="678.0156"/><rect fill="#FFFFFF" height="135.4297" style="stroke:#181818;stroke-width:1.0;" width="10" x="1560.5" y="715.1484"/><rect fill="#FFFFFF" height="66.2969" style="stroke:#181818;stroke-width:1.0;" width="10" x="1565.5" y="757.2813"/><rect fill="#FFFFFF" height="158.6641" style="stroke:#181818;stroke-width:1.0;" width="10" x="1725.5" y="1071.2422"/><rect fill="#FFFFFF" height="63.2656" style="stroke:#181818;stroke-width:1.0;" width="10" x="1730.5" y="1166.6406"/><rect fill="#FFFFFF" height="665.4219" style="stroke:#181818;stroke-width:1.0;" width="10" x="1725.5" y="1325.3047"/><rect fill="#FFFFFF" height="29.1328" style="stroke:#181818;stroke-width:1.0;" width="10" x="1925.5" y="1100.375"/><rect fill="#FFFFFF" height="113.3984" style="stroke:#181818;stroke-width:1.0;" width="10" x="2018" y="1430.7031"/><ellipse cx="7.5" cy="66.6797" fill="none" rx="4" ry="4" style="stroke:#181818;stroke-width:1.5;"/><polygon fill="#181818" points="1385.5,63.4297,1395.5,67.4297,1385.5,71.4297,1389.5,67.4297" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="12" x2="1391.5" y1="67.4297" y2="67.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="32" x="15" y="62.3638">main</text><polygon fill="#181818" points="1487,77.4297,1497,81.4297,1487,85.4297,1491,81.4297" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1397.5" x2="1493" y1="81.4297" y2="81.4297"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="113" x="1499" y="75.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="1506" y="95.4248">ZygoteServer</text><polygon fill="#181818" points="1543.5,133.8594,1553.5,137.8594,1543.5,141.8594,1547.5,137.8594" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1397.5" x2="1549.5" y1="137.8594" y2="137.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="1404.5" y="132.7935">registerServerSocket</text><line style="stroke:#181818;stroke-width:1.0;" x1="1555.5" x2="1597.5" y1="166.9922" y2="166.9922"/><line style="stroke:#181818;stroke-width:1.0;" x1="1597.5" x2="1597.5" y1="166.9922" y2="179.9922"/><line style="stroke:#181818;stroke-width:1.0;" x1="1556.5" x2="1597.5" y1="179.9922" y2="179.9922"/><polygon fill="#181818" points="1566.5,175.9922,1556.5,179.9922,1566.5,183.9922,1562.5,179.9922" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="159" x="1562.5" y="161.9263">new LocalServerSocket()</text><polygon fill="#181818" points="1543.5,205.125,1553.5,209.125,1543.5,213.125,1547.5,209.125" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1397.5" x2="1549.5" y1="209.125" y2="209.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="1404.5" y="204.0591">runSelectLoop</text><line style="stroke:#181818;stroke-width:1.0;" x1="1555.5" x2="1602.5" y1="233.2578" y2="233.2578"/><line style="stroke:#181818;stroke-width:1.0;" x1="1602.5" x2="1602.5" y1="233.2578" y2="246.2578"/><line style="stroke:#181818;stroke-width:1.0;" x1="1561.5" x2="1602.5" y1="246.2578" y2="246.2578"/><polygon fill="#181818" points="1571.5,242.2578,1561.5,246.2578,1571.5,250.2578,1567.5,246.2578" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="1567.5" y="228.1919">while(true)</text><line style="stroke:#181818;stroke-width:1.0;" x1="1560.5" x2="1602.5" y1="280.3906" y2="280.3906"/><line style="stroke:#181818;stroke-width:1.0;" x1="1602.5" x2="1602.5" y1="280.3906" y2="293.3906"/><line style="stroke:#181818;stroke-width:1.0;" x1="1561.5" x2="1602.5" y1="293.3906" y2="293.3906"/><polygon fill="#181818" points="1571.5,289.3906,1561.5,293.3906,1571.5,297.3906,1567.5,293.3906" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="53" x="1567.5" y="275.3247">Os.poll()</text><ellipse cx="7.5" cy="321.7734" fill="none" rx="4" ry="4" style="stroke:#181818;stroke-width:1.5;"/><polygon fill="#181818" points="145,318.5234,155,322.5234,145,326.5234,149,322.5234" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="12" x2="151" y1="322.5234" y2="322.5234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125" x="15" y="317.4575">startProcessLocked</text><polygon fill="#181818" points="333,347.6563,343,351.6563,333,355.6563,337,351.6563" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="157" x2="339" y1="351.6563" y2="351.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="164" y="346.5903">start</text><polygon fill="#181818" points="531,376.7891,541,380.7891,531,384.7891,535,380.7891" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="355" x2="537" y1="380.7891" y2="380.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="362" y="375.7231">start</text><line style="stroke:#181818;stroke-width:1.0;" x1="553" x2="600" y1="404.9219" y2="404.9219"/><line style="stroke:#181818;stroke-width:1.0;" x1="600" x2="600" y1="404.9219" y2="417.9219"/><line style="stroke:#181818;stroke-width:1.0;" x1="559" x2="600" y1="417.9219" y2="417.9219"/><polygon fill="#181818" points="569,413.9219,559,417.9219,569,421.9219,565,417.9219" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="565" y="399.856">startViaZygote</text><line style="stroke:#181818;stroke-width:1.0;" x1="558" x2="600" y1="452.0547" y2="452.0547"/><line style="stroke:#181818;stroke-width:1.0;" x1="600" x2="600" y1="452.0547" y2="465.0547"/><line style="stroke:#181818;stroke-width:1.0;" x1="559" x2="600" y1="465.0547" y2="465.0547"/><polygon fill="#181818" points="569,461.0547,559,465.0547,569,469.0547,565,465.0547" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="96" x="565" y="446.9888">&#32452;&#35013;zygote&#21442;&#25968;</text><line style="stroke:#181818;stroke-width:1.0;" x1="558" x2="605" y1="489.1875" y2="489.1875"/><line style="stroke:#181818;stroke-width:1.0;" x1="605" x2="605" y1="489.1875" y2="502.1875"/><line style="stroke:#181818;stroke-width:1.0;" x1="564" x2="605" y1="502.1875" y2="502.1875"/><polygon fill="#181818" points="574,498.1875,564,502.1875,574,506.1875,570,502.1875" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="179" x="570" y="484.1216">openZygoteSocketIfNeeded</text><polygon fill="#181818" points="753,532.3203,763,536.3203,753,540.3203,757,536.3203" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="563" x2="759" y1="536.3203" y2="536.3203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="51" x="570" y="531.2544">connect</text><polygon fill="#181818" points="890,546.3203,900,550.3203,890,554.3203,894,550.3203" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="775" x2="896" y1="550.3203" y2="550.3203"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="102" x="902" y="544.3203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="909" y="564.3154">LocalSocket</text><line style="stroke:#181818;stroke-width:1.0;" x1="775" x2="817" y1="606.75" y2="606.75"/><line style="stroke:#181818;stroke-width:1.0;" x1="817" x2="817" y1="606.75" y2="619.75"/><line style="stroke:#181818;stroke-width:1.0;" x1="776" x2="817" y1="619.75" y2="619.75"/><polygon fill="#181818" points="786,615.75,776,619.75,786,623.75,782,619.75" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="159" x="782" y="601.6841">new LocalSocketAddress</text><polygon fill="#181818" points="936,644.8828,946,648.8828,936,652.8828,940,648.8828" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="775" x2="942" y1="648.8828" y2="648.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="51" x="782" y="643.8169">connect</text><polygon fill="#181818" points="1543.5,674.0156,1553.5,678.0156,1543.5,682.0156,1547.5,678.0156" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="958" x2="1549.5" y1="678.0156" y2="678.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="51" x="965" y="672.9497">connect</text><line style="stroke:#181818;stroke-width:1.0;" x1="1565.5" x2="1612.5" y1="702.1484" y2="702.1484"/><line style="stroke:#181818;stroke-width:1.0;" x1="1612.5" x2="1612.5" y1="702.1484" y2="715.1484"/><line style="stroke:#181818;stroke-width:1.0;" x1="1571.5" x2="1612.5" y1="715.1484" y2="715.1484"/><polygon fill="#181818" points="1581.5,711.1484,1571.5,715.1484,1581.5,719.1484,1577.5,715.1484" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="1577.5" y="697.0825">acceptCommandPeer</text><line style="stroke:#181818;stroke-width:1.0;" x1="1570.5" x2="1617.5" y1="744.2813" y2="744.2813"/><line style="stroke:#181818;stroke-width:1.0;" x1="1617.5" x2="1617.5" y1="744.2813" y2="757.2813"/><line style="stroke:#181818;stroke-width:1.0;" x1="1576.5" x2="1617.5" y1="757.2813" y2="757.2813"/><polygon fill="#181818" points="1586.5,753.2813,1576.5,757.2813,1586.5,761.2813,1582.5,757.2813" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141" x="1582.5" y="739.2153">createNewConnection</text><polygon fill="#181818" points="1644,772.2813,1654,776.2813,1644,780.2813,1648,776.2813" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1575.5" x2="1650" y1="776.2813" y2="776.2813"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="149" x="1656" y="770.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="1663" y="790.2764">ZygoteConnection</text><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1575.5" x2="1617.5" y1="822.5781" y2="822.5781"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1617.5" x2="1617.5" y1="822.5781" y2="835.5781"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1570.5" x2="1617.5" y1="835.5781" y2="835.5781"/><polygon fill="#181818" points="1580.5,831.5781,1570.5,835.5781,1580.5,839.5781,1576.5,835.5781" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1570.5" x2="1612.5" y1="849.5781" y2="849.5781"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1612.5" x2="1612.5" y1="849.5781" y2="862.5781"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1565.5" x2="1612.5" y1="862.5781" y2="862.5781"/><polygon fill="#181818" points="1575.5,858.5781,1565.5,862.5781,1575.5,866.5781,1571.5,862.5781" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="969,867.5781,959,871.5781,969,875.5781,965,871.5781" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="963" x2="1549.5" y1="871.5781" y2="871.5781"/><polygon fill="#181818" points="786,881.5781,776,885.5781,786,889.5781,782,885.5781" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="780" x2="952" y1="885.5781" y2="885.5781"/><polygon fill="#181818" points="574,910.7109,564,914.7109,574,918.7109,570,914.7109" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="568" x2="769" y1="914.7109" y2="914.7109"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="81" x="580" y="909.645">ZygoteState</text><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="563" x2="605" y1="933.7109" y2="933.7109"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="605" x2="605" y1="933.7109" y2="946.7109"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="558" x2="605" y1="946.7109" y2="946.7109"/><polygon fill="#181818" points="568,942.7109,558,946.7109,568,950.7109,564,946.7109" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="558" x2="605" y1="965.8438" y2="965.8438"/><line style="stroke:#181818;stroke-width:1.0;" x1="605" x2="605" y1="965.8438" y2="978.8438"/><line style="stroke:#181818;stroke-width:1.0;" x1="564" x2="605" y1="978.8438" y2="978.8438"/><polygon fill="#181818" points="574,974.8438,564,978.8438,574,982.8438,570,978.8438" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="193" x="570" y="960.7778">zygoteSendArgsAndGetResult</text><polygon fill="#181818" points="941,1008.9766,951,1012.9766,941,1016.9766,945,1012.9766" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="563" x2="947" y1="1012.9766" y2="1012.9766"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="570" y="1007.9106">(BufferedWriter)write(arg)</text><polygon fill="#181818" points="1538.5,1038.1094,1548.5,1042.1094,1538.5,1046.1094,1542.5,1042.1094" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="953" x2="1544.5" y1="1042.1094" y2="1042.1094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="960" y="1037.0435">read socket</text><polygon fill="#181818" points="1713.5,1067.2422,1723.5,1071.2422,1713.5,1075.2422,1717.5,1071.2422" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1560.5" x2="1719.5" y1="1071.2422" y2="1071.2422"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="1567.5" y="1066.1763">runOnce</text><polygon fill="#181818" points="1913.5,1096.375,1923.5,1100.375,1913.5,1104.375,1917.5,1100.375" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1735.5" x2="1919.5" y1="1100.375" y2="1100.375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="1742.5" y="1095.3091">forkAndSpecialize</text><polygon fill="#181818" points="1746.5,1125.5078,1736.5,1129.5078,1746.5,1133.5078,1742.5,1129.5078" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1740.5" x2="1929.5" y1="1129.5078" y2="1129.5078"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="19" x="1752.5" y="1124.4419">pid</text><line style="stroke:#181818;stroke-width:1.0;" x1="1735.5" x2="1782.5" y1="1153.6406" y2="1153.6406"/><line style="stroke:#181818;stroke-width:1.0;" x1="1782.5" x2="1782.5" y1="1153.6406" y2="1166.6406"/><line style="stroke:#181818;stroke-width:1.0;" x1="1741.5" x2="1782.5" y1="1166.6406" y2="1166.6406"/><polygon fill="#181818" points="1751.5,1162.6406,1741.5,1166.6406,1751.5,1170.6406,1747.5,1166.6406" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="1747.5" y="1148.5747">if (pid&gt;0) handleParentProc</text><polygon fill="#181818" points="964,1196.7734,954,1200.7734,964,1204.7734,960,1200.7734" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="958" x2="1729.5" y1="1200.7734" y2="1200.7734"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="55" x="970" y="1195.7075">write pid</text><polygon fill="#181818" points="574,1225.9063,564,1229.9063,574,1233.9063,570,1229.9063" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="568" x2="952" y1="1229.9063" y2="1229.9063"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="580" y="1224.8403">read pid</text><polygon fill="#181818" points="366,1255.0391,356,1259.0391,366,1263.0391,362,1259.0391" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="360" x2="547" y1="1259.0391" y2="1259.0391"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="164" x="372" y="1253.9731">return ProcessStartResult</text><polygon fill="#181818" points="168,1284.1719,158,1288.1719,168,1292.1719,164,1288.1719" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="162" x2="349" y1="1288.1719" y2="1288.1719"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="164" x="174" y="1283.106">return ProcessStartResult</text><line style="stroke:#181818;stroke-width:1.0;" x1="1730.5" x2="1777.5" y1="1312.3047" y2="1312.3047"/><line style="stroke:#181818;stroke-width:1.0;" x1="1777.5" x2="1777.5" y1="1312.3047" y2="1325.3047"/><line style="stroke:#181818;stroke-width:1.0;" x1="1736.5" x2="1777.5" y1="1325.3047" y2="1325.3047"/><polygon fill="#181818" points="1746.5,1321.3047,1736.5,1325.3047,1746.5,1329.3047,1742.5,1325.3047" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="175" x="1742.5" y="1307.2388">if (pid==0) handleChildProc</text><polygon fill="#181818" points="1413.5,1355.4375,1403.5,1359.4375,1413.5,1363.4375,1409.5,1359.4375" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1407.5" x2="1724.5" y1="1359.4375" y2="1359.4375"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="63" x="1419.5" y="1354.3716">zygoteInit</text><line style="stroke:#181818;stroke-width:1.0;" x1="1402.5" x2="1444.5" y1="1388.5703" y2="1388.5703"/><line style="stroke:#181818;stroke-width:1.0;" x1="1444.5" x2="1444.5" y1="1388.5703" y2="1401.5703"/><line style="stroke:#181818;stroke-width:1.0;" x1="1403.5" x2="1444.5" y1="1401.5703" y2="1401.5703"/><polygon fill="#181818" points="1413.5,1397.5703,1403.5,1401.5703,1413.5,1405.5703,1409.5,1401.5703" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="1409.5" y="1383.5044">nativeZygoteInit</text><polygon fill="#181818" points="2006,1426.7031,2016,1430.7031,2006,1434.7031,2010,1430.7031" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1402.5" x2="2012" y1="1430.7031" y2="1430.7031"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="88" x="1409.5" y="1425.6372">applicationInit</text><line style="stroke:#181818;stroke-width:1.0;" x1="2028" x2="2070" y1="1459.8359" y2="1459.8359"/><line style="stroke:#181818;stroke-width:1.0;" x1="2070" x2="2070" y1="1459.8359" y2="1472.8359"/><line style="stroke:#181818;stroke-width:1.0;" x1="2029" x2="2070" y1="1472.8359" y2="1472.8359"/><polygon fill="#181818" points="2039,1468.8359,2029,1472.8359,2039,1476.8359,2035,1472.8359" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="107" x="2035" y="1454.77">invokeStaticMain</text><line style="stroke:#181818;stroke-width:1.0;" x1="2028" x2="2070" y1="1501.9688" y2="1501.9688"/><line style="stroke:#181818;stroke-width:1.0;" x1="2070" x2="2070" y1="1501.9688" y2="1514.9688"/><line style="stroke:#181818;stroke-width:1.0;" x1="2029" x2="2070" y1="1514.9688" y2="1514.9688"/><polygon fill="#181818" points="2039,1510.9688,2029,1514.9688,2039,1518.9688,2035,1514.9688" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="236" x="2035" y="1496.9028">throws Zygote.MethodAndArgsCaller</text><polygon fill="#181818" points="1413.5,1540.1016,1403.5,1544.1016,1413.5,1548.1016,1409.5,1544.1016" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="1407.5" x2="2022" y1="1544.1016" y2="1544.1016"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="148" x="1419.5" y="1539.0356">main() catch Exception</text><polygon fill="#181818" points="1085,1569.2344,1075,1573.2344,1085,1577.2344,1081,1573.2344" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1079" x2="1391.5" y1="1573.2344" y2="1573.2344"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="32" x="1091" y="1568.1685">main</text><line style="stroke:#181818;stroke-width:1.0;" x1="1074" x2="1116" y1="1602.3672" y2="1602.3672"/><line style="stroke:#181818;stroke-width:1.0;" x1="1116" x2="1116" y1="1602.3672" y2="1615.3672"/><line style="stroke:#181818;stroke-width:1.0;" x1="1075" x2="1116" y1="1615.3672" y2="1615.3672"/><polygon fill="#181818" points="1085,1611.3672,1075,1615.3672,1085,1619.3672,1081,1615.3672" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="181" x="1081" y="1597.3013">Looper.prepareMainLooper()</text><line style="stroke:#181818;stroke-width:1.0;" x1="1074" x2="1121" y1="1639.5" y2="1639.5"/><line style="stroke:#181818;stroke-width:1.0;" x1="1121" x2="1121" y1="1639.5" y2="1652.5"/><line style="stroke:#181818;stroke-width:1.0;" x1="1080" x2="1121" y1="1652.5" y2="1652.5"/><polygon fill="#181818" points="1090,1648.5,1080,1652.5,1090,1656.5,1086,1652.5" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="1086" y="1634.4341">new ActivityThread()</text><polygon fill="#181818" points="1183.5,1667.5,1193.5,1671.5,1183.5,1675.5,1187.5,1671.5" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1079" x2="1189.5" y1="1671.5" y2="1671.5"/><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="147" x="1195.5" y="1665.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="1202.5" y="1685.4951">ApplicationThread</text><line style="stroke:#181818;stroke-width:1.0;" x1="1079" x2="1126" y1="1722.9297" y2="1722.9297"/><line style="stroke:#181818;stroke-width:1.0;" x1="1126" x2="1126" y1="1722.9297" y2="1735.9297"/><line style="stroke:#181818;stroke-width:1.0;" x1="1085" x2="1126" y1="1735.9297" y2="1735.9297"/><polygon fill="#181818" points="1095,1731.9297,1085,1735.9297,1095,1739.9297,1091,1735.9297" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="169" x="1091" y="1717.8638">attach(IApplicationThread)</text><polygon fill="#181818" points="173,1766.0625,163,1770.0625,173,1774.0625,169,1770.0625" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="167" x2="1073" y1="1770.0625" y2="1770.0625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="179" y="1764.9966">attachApplication</text><line style="stroke:#181818;stroke-width:1.0;" x1="162" x2="204" y1="1799.1953" y2="1799.1953"/><line style="stroke:#181818;stroke-width:1.0;" x1="204" x2="204" y1="1799.1953" y2="1812.1953"/><line style="stroke:#181818;stroke-width:1.0;" x1="163" x2="204" y1="1812.1953" y2="1812.1953"/><polygon fill="#181818" points="173,1808.1953,163,1812.1953,173,1816.1953,169,1812.1953" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="169" y="1794.1294">Binder.getCallingPid()</text><line style="stroke:#181818;stroke-width:1.0;" x1="162" x2="204" y1="1841.3281" y2="1841.3281"/><line style="stroke:#181818;stroke-width:1.0;" x1="204" x2="204" y1="1841.3281" y2="1854.3281"/><line style="stroke:#181818;stroke-width:1.0;" x1="163" x2="204" y1="1854.3281" y2="1854.3281"/><polygon fill="#181818" points="173,1850.3281,163,1854.3281,173,1858.3281,169,1854.3281" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="169" y="1836.2622">attachApplicationLocked</text><line style="stroke:#181818;stroke-width:1.0;" x1="162" x2="204" y1="1883.4609" y2="1883.4609"/><line style="stroke:#181818;stroke-width:1.0;" x1="204" x2="204" y1="1883.4609" y2="1896.4609"/><line style="stroke:#181818;stroke-width:1.0;" x1="163" x2="204" y1="1896.4609" y2="1896.4609"/><polygon fill="#181818" points="173,1892.4609,163,1896.4609,173,1900.4609,169,1896.4609" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="166" x="169" y="1878.395">find ProcessRecord by pid</text><polygon fill="#181818" points="1257,1921.5938,1267,1925.5938,1257,1929.5938,1261,1925.5938" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="162" x2="1263" y1="1925.5938" y2="1925.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="169" y="1920.5278">bindApplication</text><polygon fill="#181818" points="1057,1935.5938,1067,1939.5938,1057,1943.5938,1061,1939.5938" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="157" x2="1063" y1="1939.5938" y2="1939.5938"/><line style="stroke:#181818;stroke-width:1.0;" x1="1079" x2="1121" y1="1968.7266" y2="1968.7266"/><line style="stroke:#181818;stroke-width:1.0;" x1="1121" x2="1121" y1="1968.7266" y2="1981.7266"/><line style="stroke:#181818;stroke-width:1.0;" x1="1080" x2="1121" y1="1981.7266" y2="1981.7266"/><polygon fill="#181818" points="1090,1977.7266,1080,1981.7266,1090,1985.7266,1086,1981.7266" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="1086" y="1963.6606">Looper.loop()</text><!--SRC=[bLR9Rjim4BthAtYBd216qlPa804SeoW2P37YeWNI4qEEBI8oAL1qdEHOjEUU-WNzWTxxFLq-eqEAacbhiNEIFVDcuUCit2E9u42cIfaxzHXbL1l1H4Qb8RTFCsNWN0f3bEQWoV7HKGDW0le1bINak04oKb82CqB92lQg0LOfNwyfRnRIYFbw8c-YJ-hmD4nnGEPKo2YGL7gVuVv-btP0DCn4Ra0NWebYzs2YDKpTHiAIN2X6qz0excq9j90JI96G2wMoxWW71uXV9YA5sEW5zBRbSvttCvMccC4UdiSij8mAfeP8_uCmJvTKqbbnHi40BNA3L8-rOf3d5pPz7hLWqOl7OLhUC2ebLIfroBgy7VX1q4AppM90_lxwyk_7rsSd_Vtjyv_lFtU9eZAGdYztJ-VJAm2E1swndHYAHMajML70KIX7M77ppjUgkYfj-3Ui58SVSgunM9V7C70ehzT8BS6EOgACGMP6QZwdaey1z0usJ0FcTmNBLIEtM0MTZeJu2kpuX2ILcbskyjb7btoeP_bGydTWRY1Vf0tb5d8t8F7POZe53VoZ5jZilQNzn5JFUfqas_50EScBgS21sXwnbnOORUV4fexTVorPMUI1iZ9miAdIztYkIGPCq5Gyb_IGJF0mVXYpLTuUQoCvCIKn1ZWzwf44woE5CTKWtNneTBBEhUFI9TX8vQf_7PUD1magh4jNk-Jgvw5pxvZoieaTBhuuQZuzfbqHn6YRYzqXNqp-oKd5_WWdFsybFrWogvwmVnlNZz-Iak8XuBOD6ovRwvHcMIeOjI4TEjHlmF40ya7TksOMxD9kuqwqIRHQvZwx_YMOHF5XqT0ZcgPOjfvKkzZZ7i4iM4BUFjhvjQg1qdTvEUyJLrp-ER0XRSBP9Gowdsd0HmVOj0i9xj2jrfOXEzZNnSsMAoAz40VaJW6eCPGbyNdDGrU26pMwyXDuwLZqhS-5Co7n1TQVWR5t9EHiBCBpli1JBPsjhuzMLrDCgcoz6s3uI2HtJsw-T3YhtSU0tA6Va1-_a8BPi4xu2yehnK_S-my0]--></g></svg>

    </div>

    
    
    

    <footer class="post-footer">

        

          <div class="post-nav">
            <div class="post-nav-item">
                <a href="/posts/34020.html" rel="prev" title="GraphViz dot">
                  <i class="fa fa-angle-left"></i> GraphViz dot
                </a>
            </div>
            <div class="post-nav-item">
                <a href="/posts/11962.html" rel="next" title="Android Activity启动流程">
                  Android Activity启动流程 <i class="fa fa-angle-right"></i>
                </a>
            </div>
          </div>
    </footer>
  </article>
</div>






</div>
  </main>

  <footer class="footer">
    <div class="footer-inner">

  <div class="copyright">
    &copy; 
    <span itemprop="copyrightYear">2024</span>
    <span class="with-love">
      <i class="fa fa-heart"></i>
    </span>
    <span class="author" itemprop="copyrightHolder">Jason</span>
  </div>
  <div class="powered-by">由 <a href="https://hexo.io/" rel="noopener external nofollow noreferrer" target="_blank">Hexo</a> & <a href="https://theme-next.js.org/pisces/" rel="noopener external nofollow noreferrer" target="_blank">NexT.Pisces</a> 强力驱动
  </div>

    </div>
  </footer>

  
  <div class="back-to-top" role="button" aria-label="返回顶部">
    <i class="fa fa-arrow-up fa-lg"></i>
    <span>0%</span>
  </div>

<noscript>
  <div class="noscript-warning">Theme NexT works best with JavaScript enabled</div>
</noscript>


  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/next-theme-pjax/0.6.0/pjax.min.js" integrity="sha256-vxLn1tSKWD4dqbMRyv940UYw4sXgMtYcK6reefzZrao=" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/fancyapps-ui/5.0.24/fancybox/fancybox.umd.js" integrity="sha256-oyhjPiYRWGXaAt+ny/mTMWOnN1GBoZDUQnzzgC7FRI4=" crossorigin="anonymous"></script>
<script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/next-boot.js"></script><script src="/js/pjax.js"></script>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/hexo-generator-searchdb/1.4.1/search.js" integrity="sha256-1kfA5uHPf65M5cphT2dvymhkuyHPQp5A53EGZOnOLmc=" crossorigin="anonymous"></script>
<script src="/js/third-party/search/local-search.js"></script>


  <script class="next-config" data-name="mermaid" type="application/json">{"enable":true,"theme":{"light":"default","dark":"dark"},"js":{"url":"https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.5.0/mermaid.min.js","integrity":"sha256-K7oJiQlDulzl24ZUFOywuYme1JqBBvQzK6m8qHjt9Gk="}}</script>
  <script type="module" src="/js/zenuml-definition-074a43fa.js"></script>
  <script type="module" src="/js/mermaid-zenuml.esm.min.mjs"></script>
  <script src="/js/third-party/tags/mermaid.js"></script>


  <script src="/js/third-party/fancybox.js"></script>



  




  

  <script class="next-config" data-name="enableMath" type="application/json">true</script><script class="next-config" data-name="mathjax" type="application/json">{"enable":true,"tags":"none","js":{"url":"https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js","integrity":"sha256-MASABpB4tYktI2Oitl4t+78w/lyA+D7b/s9GEP0JOGI="}}</script>
<script src="/js/third-party/math/mathjax.js"></script>



</body>
</html>
